using System.Collections.Generic;

using lucere.index.inversion;

namespace lucere.index.write
{
    public interface ITermsHashConsumer
    {
        int BytesPerPosting();
        void CreatePostings(IRawPostingList[] postings, int start, int count);
        ITermsHashConsumerPerThread AddThread(ITermsHashPerThread perThread);
        void Flush(IDictionary<ITermsHashConsumerPerThread, IList<ITermsHashConsumerPerField>> threadsAndFields, ISegmentWriteState state);
        void Abort();
        void CloseDocStore(ISegmentWriteState state);
        IFieldInfos FieldInfos { get; set; }
    }
}